const express = require('express');
const cors = require('cors');
const axios = require('axios');

const app = express();
const PORT = 3001; // 代理服务器端口，可按需修改

// 使用 cors 中间件，允许所有跨域请求
app.use(cors());
app.use(express.json()); // 解析 JSON 格式的请求体
app.use(express.urlencoded({ extended: true })); // 解析表单格式的请求体

app.use('/api', async (req, res) => {
  const targetUrl = `http://116.193.168.138:8080${req.path}`; // 目标服务器地址
  // 过滤掉一些不必要的请求头
  const { host, ...headers } = req.headers; 
  try {
    const response = await axios({
      method: req.method,
      url: targetUrl,
      headers: headers,
      params: req.query, // 添加 GET 请求的查询参数
      data: req.body
    });
    res.send(response.data);
  } catch (error) {
    console.error('代理请求出错:', error); // 打印错误信息
    res.status(error.response?.status || 500).send(error.response?.data || '代理请求出错');
  }
});

// 启动服务器
app.listen(PORT, () => {
  console.log(`代理服务器运行在 http://localhost:${PORT}`);
});
